package estructurasDeDatos.HashMap2;

public interface IHashMap2 < K , V >{
	/*
	 * retorna la cantidad de valores que se han guardado en la tabla 
	 */
	public int size() ; 
	/*
	 * pregunta si la tabla de hash mapea alguna llave a algun valor
	 */
	public boolean isEmpty() ;
	/*
	 * Retorna el valor guardado en la direccion que se mapea por la llave
	 */
	public V get(K key) ; 
	
	/*
	 *  Mapea la llave que llega por parametro al valor que llega por parametro en la tabla de hash ;
	 */
	public void put(K key, V value) ; 
	/*
	 * Borra la llave y su valor correspondiente de la tabla de hash, en caso de no estar el elemento en la 
	 * tabla el metodo no hace nada ;
	 */
	public V remove(Object key) ; 
	/*
	 * borra la tabla de hash para que no contenga llaves
	 */
	public void clear() ; 
	
	
	/*
	 * retorna un iterador para recorrer los elementos guardados en la tabla en orden de insercion
	 */
	public HashMapIterator < K , V > getIterator () ; 
}
